﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Text;
using System.Threading.Tasks;

namespace StyleMVVM.DependencyInjection
{
	public interface IExportResolver
	{
		string Name { get; }

		bool CanExportByType { get; }

		object GetExport(string exportName,
		                 Type exportType,
		                 out bool found,
		                 [ReadOnlyArray] object[] constructorParam);

		IEnumerable<object> GetAllExports(string exportName, Type exportType);
	}
}